package com.recipedb.sprint.service;

import com.recipedb.sprint.entity.Users;
import com.recipedb.sprint.entity.Sessions; // 假设咨询记录实体类
import java.util.List;
import java.util.Map;

public interface AdminService {
    // 管理员登录（通过 userid=0 识别管理员）
    Map<String, Object> adminLogin(String account, String password);

    // 用户管理（查询、新增、编辑、删除）
    List<Users> getAllUsers(String keyword);
    void createUser(Users user);
    void updateUser(Long userId, Users user);
    void deleteUser(Long userId);


    // 数据统计看板
    Map<String, Object> getStatistics();

    Users getUserById(Long userId);

    /**
     * 管理员查询指定用户的所有会话（简洁版，无分页）
     * @param userId 用户ID
     * @return 该用户的所有会话列表（按创建时间倒序）
     */
    List<Sessions> getUserSessions(Long userId);

    /**
     * 管理员查询所有会话（可选，全局查看）
     * @return 所有会话列表（按创建时间倒序）
     */
    List<Sessions> getAllSessions();

    /**
     * 管理员删除单个 Session
     * @param sessionId Session 主键ID
     */
    void deleteSession(Long sessionId);

}